#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<string>
using namespace std;

//class Solution {
//public:
//    string verse(string s, int begin, int end)
//    {
//        while (begin < end)
//        {
//            char tmp = s[begin];
//            s[begin] = s[end];
//            s[end] = tmp;
//
//            begin++;
//            end--;
//        }
//
//        return s;
//    }
//
//    string reverseStr(string s,int k) {
//        int start = 0, tail = k - 1;
//        while(start < s.length())
//        {
//            if(tail >= s.length())
//                tail = s.length() - 1;
//            s = verse(s, start, tail);
//
//            start += 2 * k;
//            tail += 2 * k;
//        }
//
//        return s;
//    }
//};

//class Solution {
//public:
//    string verse(string s, int begin, int end)
//    {
//        while (begin < end)
//        {
//            char tmp = s[begin];
//            s[begin] = s[end];
//            s[end] = tmp;
//
//            begin++;
//            end--;
//        }
//
//        return s;
//    }
//
//    string reverseWords(string s) {
//        int start = 0, tail = 0;
//        while (tail <= s.length())
//        {
//            while (s[tail] != ' ') // error
//                tail++;
//            s = verse(s, start, tail);
//
//            start = tail + 1;
//            tail = start;
//        }
//
//        return s;
//    }
//};
//
//int main()
//{
//    string tmp;
//    cin >> tmp;
//    Solution so;
//
//    cout << so.reverseWords(tmp);
//
//    return 0;
//}